home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Software Contest 3 / FM Towns Software Contest 3.iso / exp / video_t / no1 / c_sorse / telop2.c < prev    next >
Text File  |  1994-01-07  |  3KB  |  127 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <winb.h>
  5. #include <te.h>
  6. #include <fntb.h>
  7. #include <gui.h>
  8.  
  9. int    Dialog_telop = -1 ;
  10. int    Message_telop1 = -1 ;
  11. int    Message_telop2 = -1 ;
  12. int    _001Message_telop2 = -1 ;
  13. int    TIcon_telop[2] = -1 ;
  14. int    DButton_telopon = -1 ;
  15. int    _001DButton_telopon = -1 ;
  16. int    Message_telop10 = -1 ;
  17. int    _001Message_telop10 = -1 ;
  18.  
  19. extern     int    backid ;
  20. extern int    Dia_edit ;
  21. extern int    Dialog_menu ;
  22. extern int    Text ;
  23. extern telop() ;
  24. extern     char    *guiEgbPtr ;
  25.  
  26. int        radiotelop = 0 ;
  27.  
  28. /*    initDataTELOP:TIcon_telop[0]:MJ_TICONL40の呼び出し関数    */
  29. /*    initDataTELOP:TIcon_telop[1]:MJ_TICONL40の呼び出し関数    */
  30. int    telop_icon(kobj, messId, argc, pev, trigger)
  31. int        kobj ;
  32. int        messId ;
  33. int        argc ;
  34. EVENT    *pev ;
  35. int        trigger ;
  36. {
  37. /*    現在選択状態にあるボタンを非選択状態にし、選択可にします    */
  38. MTL_resetFlagObj(radiotelop,~(MS_UNSELECT | MS_TOGGLE)) ;
  39. MMI_SendMessage(radiotelop, MM_SHOW, 0) ;
  40. /*    画面選択フラグを更新します    */
  41. radiotelop = kobj ;
  42.  
  43. /*    呼び出し元トグルボタンを選択状態にし、選択不可にします    */
  44. MTL_setFlagObj(kobj, MS_UNSELECT | MS_TOGGLE) ;
  45. MMI_SendMessage(kobj, MM_SHOW, 0) ;
  46.     return NOERR ;
  47. }
  48.  
  49. /*initDataTELOP:DButton_telopon:MJ_DBUTTONL40の呼び出し関数    */
  50.  
  51. extern     char    *pwork;
  52.  
  53. int    telop_go(kobj, messId, argc, pev, trigger)
  54. int        kobj ;
  55. int        messId ;
  56. int        argc ;
  57. EVENT    *pev ;
  58. int        trigger ;
  59. {
  60. int    i;
  61. for (i = 0 ; i < 2 ; i++)
  62. {
  63. if (TIcon_telop[i] == radiotelop)        break ;
  64. }
  65.  
  66. MG_pushEgbWork(guiEgbPtr,&pwork);
  67. if(i!=2)
  68. {
  69.  
  70. MMI_SendMessage(Dialog_telop,MM_ERASE,0) ;
  71. MMI_SendMessage(Dialog_telop,MM_DETACH,0) ;
  72.  
  73. if(i==0)    { go_fail();    telop(0); }
  74. else    telop(1);
  75.  
  76. /*    メニューを選択可とします。    */
  77. MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  78. MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  79. MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  80.  
  81. MG_popEgbWork(guiEgbPtr,pwork);
  82. WINCLIP *pwclp ;
  83. FRAME   fr ;
  84. fr.lupx = 0 ;
  85. fr.lupy = 0 ;
  86. fr.rdwx = 639 ;
  87. fr.rdwy = 479 ;
  88. pwclp = WIN_getClipMemory(&fr, NULL) ;
  89. MMI_SendMessage(MMI_GetBaseObj(), MM_UPDATE, 1, pwclp) ;
  90. WIN_freeClipMemory(pwclp) ;
  91. MMI_SendMessage(Text, MM_ERASE, 0) ;
  92. MMI_SendMessage(Text, MM_WAKE, 0) ;
  93. MMI_SendMessage(Text, MM_SHOW, 0) ;
  94.  
  95. }
  96. return NOERR ;
  97. }
  98.  
  99. /*    initDataTELOP:_001DButton_telopon:MJ_DBUTTONL40の呼び出し関数    */
  100. int    telop_off(kobj, messId, argc, pev, trigger)
  101. int        kobj ;
  102. int        messId ;
  103. int        argc ;
  104. EVENT    *pev ;
  105. int        trigger ;
  106. {
  107. MMI_SendMessage(Dialog_telop,MM_ERASE,0) ;
  108. MMI_SendMessage(Dialog_telop,MM_DETACH,0) ;
  109. /*    メニューを選択可とします。    */
  110. MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  111. MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  112. MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  113.     return NOERR ;
  114. }
  115.  
  116. int    l_telop()
  117. {
  118. /*    背景を選択不可とします。*/
  119. MTL_setAtrObj(backid, MS_DSPONLYL40) ;
  120. MTL_setAtrObj(Dialog_menu, MS_DSPONLYL40) ;
  121. MTL_setAtrObj(Dia_edit, MS_DSPONLYL40) ;
  122.  
  123. MMI_SendMessage(Dialog_telop,MM_ATTACH,1,MMI_GetBaseObj()) ;
  124. MMI_SendMessage(Dialog_telop, MM_SHOW, 0) ;
  125. return NOERR ;
  126. }
  127.